Dial-up access manager

ABSTRACT

A network access management tool includes a dialer that connects users to a network, such as the Internet. An integrated phonebook automatically looks-up optimal phone number(s) to dial. The network access management tool may additionally help the user to automate virtual private network (VPN) connections, may include automated software update capabilities, and may take into account corporate policy information when making network connectivity decisions.

RELATED APPLICATION

[0001] This application claims priority under 35 U.S.C. §119 based on U.S. Provisional Application No. 60/335,538, filed Nov. 16, 2001, the disclosure of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

[0002] A. Field of the Invention

[0003] The present invention relates generally to network access, and more particularly, to dial-up network access software.

[0004] B. Description of Related Art

[0005] People often find it necessary to connect to a network, such as the Internet or a corporate network, when they are away from work. Business travelers, in particular, may connect to their corporate network to perform functions such as sending/receiving email, viewing corporate documents, or uploading files to the corporate network. When traveling, dial-up connections over phone lines are often used to make the network connection.

[0006] Dial-up connections are frequently initiated using dial-up management software. This software may perform basic dial-up functions, such as controlling a modem to dial a number entered by the user and negotiating network logon with the host. When traveling, users often initiate dial-up connections to hosts that are in the local calling zone of the user. To do this, the user first looks-up the local number and then manually enters the local number into the dial-up management software.

[0007] There is a need in the art for improved dial-up management software.

SUMMARY OF THE INVENTION

[0008] Systems and methods consistent with the principles of this invention provide a network access management tool that is particularly beneficial to entities that have multiple mobile computing devices that wish to connect to a network.

[0009] One aspect consistent with the invention is direction to a dial-up connection manager. The dial-up connection manager includes a dialer component that connects to a network using a selected access number. A phonebook component stores the access numbers and automatically updates the stored access numbers from a phonebook server when the dialer component has made a network connection. The selected access number is selected from the phonebook component based on factors including at least one of cost of the network connection and access speed.

[0010] Another aspect consistent with the invention is directed to a dial-up connection manager that includes a number of elements. A user interface presents network connectivity options to a user and receives commands from the user. A dialer connects to a network via a dial-up connection. A client policy component obtains policy information created on behalf of an employer of the user when the user connects to the network. The client policy component modifies the user interface based on the policy information.

[0011] Yet another aspect consistent with the invention is directed to a method that includes looking up an appropriate network access number from a phonebook of possible access numbers based on current area code/exchange information; connecting to a network using the looked-up access number; automatically downloading updates for the phonebook when connected to the network; and automatically downloading policy information when connected to the network, the policy information defining customizations to the access manager.

BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate the invention and, together with the description, explain the invention. In the drawings,

[0013]FIG. 1 is a diagram illustrating an exemplary system on which concepts consistent with the invention may be implemented;

[0014]FIG. 2 is a diagram illustrating an exemplary configuration of a computing device shown in FIG. 1 in additional detail;

[0015]FIG. 3 is a block diagram illustrating functional components of a client-side management tool and a server-side access management tool consistent with the invention;

[0016]FIG. 4 is an exemplary user interface that may be displayed by the user interface component shown in FIG. 3;

[0017]FIG. 5 is a diagram illustrating phonebook generation consistent with the invention; and

[0018]FIG. 6 is another exemplary graphical interface that may be displayed by the user interface component shown in FIG. 3.

DETAILED DESCRIPTION

[0019] The following detailed description of the invention refers to the accompanying drawings. The same reference numbers may be used in different drawings to identify the same or similar elements. Also, the following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims and equivalents.

[0020] A network access management tool is described herein. The tool includes one or more software components that simplify and provide advanced network connectivity services. In particular, the network access management tool includes a dialer that connects users to a network such as the Internet. An integrated phonebook may automatically look-up the optimal (e.g., the most cost effective) phone number(s) to dial. The tool may additionally help the user to automate virtual private network (VPN) connections, may include automated software update capabilities, and may take into account corporate policy information when making network connectivity decisions.

[0021]FIG. 1 is a diagram illustrating an exemplary system 100 on which concepts consistent with the invention may be implemented. System 100 includes computing devices 101-103, which may be coupled together through one or more networks 110 and 111. Network 110 may be a wide area network (WAN) such as the Internet. Network 110 may connect to another network, such as a private (e.g., corporate) network 111. Corporate network 111 may be a local area network (LAN) or WAN in which access to the network is restricted to, for example, employees of a corporation. Users of corporate network 111 may access resources of public network 110 through a gateway router and/or firewall (not shown) that connects corporate network 111 to network 110.

[0022] Computing devices 101 and 102 may be computing devices of end-users of corporate network 111. For example, computing devices 101 and 102 may be laptop computers given to employees of the corporation that controls corporate network 111. When traveling, or when otherwise away from corporate network 111, the employees may access resources on corporate network 111 though a modem connection to network 110. More particularly, computing devices 101 and 102 may call a telephone number that corresponds to a point of presence (POP) of an internet service provider (ISP), such as ISPs 121 and 122. ISPs 121 and 122 implement the connections to network 110. Through network 110, computing devices 101 and 102 may connect to corporate network 111. Generally, it is desirable for computer devices 101 and 102 to call access numbers that are in the local calling area of the computing device.

[0023] In situations in which the users of computing devices 101 and 102 are dealing with sensitive information, computing devices 101 and 102 may form virtual private network (VPN) links with devices on corporate network 111. A VPN connection is a well known technique for using a public telecommunication infrastructure, such as the Internet, to provide remote offices or users with secure access to their organization's networks. VPNs encrypt data sent over the public infrastructure, thus creating a secure “tunnel” that cannot be “entered” by eavesdroppers. Alternatively, instead of establishing a VPN, computing devices 101 and 102 may directly dial to modems within corporate network 111.

[0024] Computing device 103 may be an administrative computing device coupled to corporate network 111. Through administrative computing device 103, an administrator may control configuration options on end-user computing devices 101 and 102.

[0025]FIG. 2 is a diagram illustrating an exemplary configuration of one of computing devices 101-103. Computing device 101-103 includes a computer-readable medium 209, such as random access memory, coupled to a processor 208. Processor 208 executes program instructions stored in memory 209. Computing device 101-103 may also include a number of additional external or internal devices, such as, without limitation, a mouse, a CD-ROM, a keyboard, a modem, a broadband network interface card, and a display. A display, in particular, is also shown in FIG. 2 as display 210.

[0026] Memory 209 contains an application program 201. In particular, application program 201 may implement a network access management tool consistent with the present invention. Network access management tool 201 may include a number of components located at multiple ones of computing devices 101-103. Thus, application program 201, executing on end-user computing devices 101 or 102 may be a client-side portion of the network access management tool. When executing on computing device 103, application program 201 may be an administrator-side (i.e., administered at corporate network 111) network access management tool. Each of these components will be described in more detail below.

[0027]FIG. 3 is a block diagram illustrating functional components of the client-side management tool, labeled as client access manager 301, and the server-side access management tool, labeled as administrator-side access manager 302. Administrator-side access manager 302 can include a number of components that may execute from one or more computer devices. In particular, a number of computer servers may be used to implement administrator-side access manager 302. An administrator may monitor and/or control these servers from an administrator desktop computer 103.

[0028] As shown in FIG. 3, client access manager 301 may include a user interface component 311, a client phonebook component 312, a client VPN services component 313, a client software update component 314, a client policy component 315, and dialer component 316. Administrator-side access manager 302 may include a software distribution server 321, a phonebook server 322, and policy delivery server 323. From administrator computer 103, an administrator may monitor and/or control servers 321323.

[0029] The components of client access manager 301 will next be discussed. User interface component 311 presents the user with the interface to client access manager 301. Through user interface component 301, the user may control the operation of the various components 312-316.

[0030]FIG. 4 is an exemplary user interface 400 that may be displayed by user interface component 311. Through interface 400, a user may initiate a connection to a network, such as network 110. Interface 400 may be selected by the user in any of a number of conventional manners. For example, interface 400 may initially appear when the user initiates client access manager 301 or interface may be initiated when the user activates a “make connection” menu selection from another interface screen of client access manager 301.

[0031] Through interface 400, the user may create a new connection by selecting “new connection” button 401 or by selecting a previously saved connection from list 402. When the user presses new connection button 401, a dialog box (not shown) may appear asking the user to name the new connection and asking the user to select whether the new connection is a phone connection from a hotel or airport, a phone connection from a private residence, a high speed connection (e.g., a DSL connection), or a wireless connection. Based on the user's input, user interface component 311 may add an entry to list 402 and update the connection type drop-down box 403. At this point, the user may enter the country and phone number the user is calling from in boxes 404 and 405. If, instead of making a new connection, the user selects a previously created connection from list 402, user interface component 311 may fill in boxes 404 and 405 based on the previous use of that connection. The user may modify the values in boxes 404 and 405 if they are not correct.

[0032] When the input boxes in interface 400 have been completed, the user may initiate a network connection by selecting “connect” button 406. When button 406 is selected, client access manager 301 initiates the network connection. If the connection is a modem based connection, for example, client access manager 301 may use the entered connection information to look-up the appropriate access number to dial in client phonebook component 312 and then dial the number with dialer component 316. When “advanced” button 407 is selected, user interface 311 may display another interface (discussed below) that deals with more advanced connection options.

[0033] Returning to FIG. 3, client phonebook component 312 may contain a table or database of dial-up access numbers. The access numbers may include, for example, all of the access numbers for the ISP(s) with which the user/corporation is affiliated. As described in more detail below, client phonebook component 312 may automatically update its stored access number(s) from phonebook server 322. Client phonebook component 312 may search its stored numbers to find the optimal number(s) for the user. In general, client phonebook 312 may make the decision of which access number(s) are optimal based on factors including geography, access speed, and cost. For example, client phonebook component 312 may search by area code or phone exchange to find the access numbers that are local calls for the user. In certain situations, in which a non-local access number is nevertheless the most cost effective number, client phonebook 312 may return this number instead. Additionally, client phonebook 312 may take modem access speed into consideration when determining an optimal access number. For example, if two access numbers are of approximately the same cost, the one with the higher access speed may be chosen.

[0034] In one implementation consistent with principles of the invention, client phonebook component 312 may return multiple appropriate access numbers. If the first access number is busy or otherwise unavailable, the second access number may be automatically dialed. Alternatively, client access manager 301 may automatically redial busy access numbers.

[0035]FIG. 5 is a diagram illustrating the phonebook generation process. The process may be performed by phonebook server 322. Master phonelist database 501 contains each of the point of presence (POP) access numbers in the dial-up network. The “dial-up network” can include all ISPs associated with the user's corporation. More particularly, each row in the master phonelist database 501 may include information relating to the POP country, city, state, country code, area code, phone number, and ISP name. Best access database 502 stores a list of appropriate access numbers based on the area code/exchange from which a call originates. In particular, database 502 may associate each area code/exchange with all the access numbers that are local calls to the area code/exchange. Provider database 503 stores information about the ISPs. The information may include surcharge information, scripting information, and the name to display to the user. Databases 501-503 may be updated by an administrator in corporate network 111.

[0036] Based on master phonelist database 501, best access database 502, and provider database 503, phonebook generator component 504 generates a master phonebook 505. Master phonebook 505 may be an aggregate of databases 501-503. As the information in databases 501-503 is updated or modified, phonebook generator component 504 may update master phonebook 505. Whenever phonebook 505 is updated or modified, the modification date and time may be written to last phonebuild file 506. In one implementation, phonebook 505 is updated approximately every two weeks. Additionally, an indication of each of the changes made to phonebook 505 may be stored in phonebook incremental update database 507. When updating the phonebook at client access manager 301, instead of downloading the entire phonebook 505, client phonebook component 312 may only download the incremental updates in incremental update database 507 that correspond to updates since the last time client phonebook component 312 was updated. In this manner, client access manager 301 may keep an up-to-date phonebook without having to frequently download a complete copy of the phonebook in phonebook database 505. When a user does not logon for a long period (e.g., 6 months), the complete phonebook 505 may alternatively be downloaded.

[0037] In addition to helping the user dial optimal access numbers, client access manager 301 assists users in creating secure connections. Specifically, through VPN services component 313, client access manager 301 assists users in establishing a VPN connection to corporate network 111. When a user selects a VPN connection, VPN services component 313 establishes a secure connection with corporate network 111. VPN services component 313 may, for example, establish an encrypted tunnel over public network 110 with a corresponding VPN device in corporate network 111. All information exchanged between the user and the corporate network may be encrypted and transmitted through the tunnel.

[0038] Users may activate a VPN connection through a graphical VPN selection icon. FIG. 6 is an exemplary graphical interface 600 that may be displayed by user interface component 311. Interface 600 may be displayed in response to a user selecting “advanced” button 407. Through user interface 600, users may select that a particular communication session be a VPN connection by selecting checkbox 601. Additional connection options may be input through graphical interface 600. For example, through pull-down menu 602, the user may specifically identify the modem to use for the network connection. In dialing options section 603, the user may configure advanced dial-up options, such as prefix numbers to use for calls, pulse dialing, and whether to disable call waiting, etc.

[0039] Programming modifications or upgrades may occasionally be made to client access manager 301. Returning to FIG. 3, client software update component 314 may facilitate these upgrades to client access manager 301. Instead of requiring a user to download and manually install an upgrade file, client software update component 314 may automatically perform this function. Client software update component 314 may determine whether a software update is available whenever the user makes a network connection through client access manager 301 by querying software distribution server 321. If a software upgrade is available, client software component 314 may download and install the upgrade from server distribution software 321.

[0040] In a typical application of client access manager 301, a corporation may install an instance of client access manager 301 on multiple laptop computers. For example, each member of a traveling sales force may be issued a laptop computer equipped with client access manager 301. Through policy delivery server 323 and client policy component 315, administrators can automatically update and enforce policies for multiple instances of client access manager 301. Thus, in this situation, the client access manager used by each salesperson may be automatically configured based on company policy whenever the salesperson connects to the network.

[0041] An administrator may enter the policy information into policy delivery server 323. The policy information may include, for example: (a) phone connections to add or delete from the saved connection list 402 (FIG. 4), (b) whether client access manager 301 should block the calling of 800 numbers, (c) helpdesk information, (d) pre-connect message(s), and (e) whether to disconnect after a set idle time. One of ordinary skill in the art will appreciate that other policies may also be set.

[0042] More particularly, regarding (c), an administrator may customize the support information a user sees when the user requests help within client access manager 301. For example, different support numbers may be given to different users. The sales force may receive one number while an executive group may receive another number. Regarding (d), messages may be displayed to users when they initially start client access manager 301 or at other points during the execution of client access manager 301. These messages may be set by the administrator. Regarding (e), to save phone charges and/or ISP connection time, client access manager 301 may automatically log the user off after a predetermined period of inactivity. This automatic log-off feature, as well as the predetermined time period that elapses before logging a user off, may be set by an administrator.

[0043] In operation, client policy component 315 may automatically, without user intervention, contact policy delivery server 323 at predetermined occasions when the user is logged onto the network. For example, every time the user initially logs onto the network, client policy component 315 may contact policy delivery server 323 and inquire whether there is any new policy information to download. If so, client policy component 315 may download the new policy information and customize client access manager 301 based on the policy information.

[0044] Dialer component 316 may include software for interfacing with a modem in the user's computing device. Dialer component 316 controls the modem to dial the access number determined by client access manager 301. Client access manager 301 may also be configured to connect the user to a network through a broadband connection. In this situation, dialer component 316 may additionally include functionality for interfacing with a broadband interface, such as a conventional Ethernet network interface card. Further, dialer component 316 may also be used to dial numbers in a wireless network to establish wireless network connections.

[0045] Client access manager 301 may include additional features to those described above. For example, client access manager 301 may provide feedback to corporate network 111 relating to the network connections. The feedback can include, for example, connection quality or availability information.

[0046] As described above, a network access management tool includes a number of integrated features that assist users in forming network connections. The features may include automatic lookup of access numbers, automatic integration of corporate policy, and automatic software upgrades. The network access management tool accordingly provides a set of features that allow for the cost-effective and efficient management of a large number of mobile dial-up computing devices (e.g., laptop computers).

[0047] The foregoing description of preferred embodiments of the invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention.

[0048] Certain portions of the invention have been described as software that performs one or more functions. The software may more generally be implemented as any type of logic. This logic may include hardware, such as an application specific integrated circuit or a field programmable gate array, software, or a combination of hardware and software.

[0049] No element, act, or instruction used in the description of the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used.

[0050] The scope of the invention is defined by the claims and their equivalents. 

What is claimed:
 1. A dial-up connection manager comprising: a dialer component configured to connect to a network using a selected one of a plurality of access numbers; and a phonebook component configured to store the plurality of access numbers, the phonebook component automatically updating the stored plurality of access numbers from a phonebook server when the dialer component has made a network connection, wherein the selected access number is selected from the phonebook component based on factors including at least one of cost of the network connection and access speed.
 2. The dial-up connection manager of claim 1, wherein the cost of the network connection is based on whether the access numbers are local calls.
 3. The dial-up connection manager of claim 1, further comprising: a client policy component configured to customize the dial-up connection manager based on policy information automatically downloaded over the network from a policy delivery server.
 4. The dial-up connection manager of claim 3, wherein the policy information relates to at least one of: help desk information, and customized messages.
 5. The dial-up connection manager of claim 1, wherein the phonebook includes information relating to a country, a city, a state, a country code, and an ISP name of the access numbers.
 6. The dial-up connection manager of claim 1, wherein automatically updating the stored plurality of access numbers includes downloading incremental changes to the phonebook from the phonebook server.
 7. The dial-up connection manager of claim 1, further comprising: a software update component configured to automatically download and install software upgrades to the dial-up connection manager.
 8. The dial-up connection manager of claim 1, further comprising: a virtual private network (VPN) component configured to enable the connection to the network as a VPN connection.
 9. A method of generating network access numbers for distribution to a plurality of dial-up managers, the method comprising: compiling a database that contains the access numbers; compiling a database that associates area codes/exchanges with those of the access numbers from which the area code/exchange is a local call; generating a master phonebook from the database that contains the access numbers and the database that associates area codes/exchanges with the access numbers; generating incremental updates that define changes in the master phonebook; and transmitting the incremental updates to the dial-up managers when the dial-up managers connect to the network.
 10. The method of claim 9, further comprising: compiling a database containing information relating to information service providers (ISPs) associated with the access numbers.
 11. The method of claim 9, further comprising: generating a file that indicates modification dates of the master phonebook.
 12. The method of claim 9, further comprising: transmitting the master phonebook to the dial-up managers when the dial-up managers connect to the network for a first time in a predetermined time period.
 13. The method of claim 12, wherein the predetermined time period is approximately six months.
 14. A dial-up connection manager comprising: a user interface configured to present network connectivity options to a user and receive commands from the user; a dialer component configured to connect to a network via a dial-up connection; and a client policy component configured to automatically obtain policy information created on behalf of an employer of the user when the user connects to the network, the client policy component modifying the user interface based on the policy information.
 15. The dial-up connection manager of claim 14, wherein the policy information is obtained from a policy delivery server.
 16. The dial-up connection manager of claim 14, wherein the policy information relates to at least one of: help desk information, and customized messages.
 17. The dial-up connection manager of claim 14, further comprising: a phonebook component configured to store a plurality of access numbers for the dial-up connection, the phonebook component automatically updating the plurality of access numbers when the dialer component has made a network connection, wherein at least one access number is selected from the phonebook component based on factors including at least one of cost of the network connection and access speed.
 18. The dial-up connection manager of claim 17, wherein the cost of the network connection is based on whether the plurality of access numbers are local calls.
 19. The dial-up connection manager of claim 17, wherein for each of the access numbers, the phonebook includes corresponding information relating to a country, a city, a state, a country code, and an ISP name.
 20. The dial-up connection manager of claim 17, wherein automatically updating the plurality of access numbers includes downloading incremental changes to the phonebook component.
 21. The dial-up connection manager of claim 14, further comprising: a software update component configured to automatically download and install software upgrades to the dial-up connection manager from a software distribution server.
 22. The dial up connection manager of claim 14, further comprising: a virtual private network (VPN) component configured to enable the connection to the network as a VPN connection.
 23. A method implemented by an access manager, comprising: looking up an appropriate network access number from a phonebook of possible access numbers based on current area code/exchange information; connecting to a network using the looked-up access number; automatically downloading updates for the phonebook when connected to the network; and automatically downloading policy information when connected to the network, the policy information defining customizations to the access manager.
 24. The method of claim 23, wherein the updates for the phonebook are incremental phonebook updates.
 25. The method of claim 23, wherein the policy information includes at least one of: help desk information, and customized messages.
 26. The method of claim 23, wherein the phonebook includes information relating to a country, a city, a state, a country code, and an ISP name of the access numbers. 